Skip to content

Fix OpenAPI fixture schema ref resolution#30

Merged
slusset merged 1 commit intomainfrom
fix/fixture-openapi-ref-resolution
Mar 21, 2026
Merged

Fix OpenAPI fixture schema ref resolution#30
slusset merged 1 commit intomainfrom
fix/fixture-openapi-ref-resolution

Conversation

@slusset
Copy link
Owner

@slusset slusset commented Mar 21, 2026

Summary

  • recursively resolve local OpenAPI schema refs before compiling fixture request/response schemas
  • restore compatibility with downstream specs that use nested #/components/schemas references inside response models
  • keep AsyncAPI and JSON-RPC fixture support unchanged

Context

This fixes downstream fixture failures introduced by PR #29, including the edyoucate-ai IDD run at https://github.com/slusset/edyoucate-ai/actions/runs/23386650116 where fixture validation failed on nested OpenAPI component refs.

Verification

  • npm test
  • node bin/idd.js validate all --json

@github-actions
Copy link

IDD Compliance Review

Check Status Errors Warnings
Contracts 0 0
Traceability 0 0
Front-Matter 0 0
Capability Scope 0 0
Fixtures 0 0
Models 0 0
Journey Maps 0 0
OpenAPI Lint 0
Gherkin Lint 0
✅ Contracts

Info

  • specs/contracts/asyncapi/audit-events.yaml: validated 1 operation
  • specs/contracts/json-rpc/account-service.yaml: validated 1 operation
  • specs/contracts/openapi/api.yaml: validated 2 operations
  • Validated 3 contract file(s)
✅ Traceability

Info

  • Found 1 persona file(s)
  • Checked 1 journey file(s)
  • Checked 2 story file(s)
  • Checked 2 feature file(s)
  • Checked 4 contract operation(s) across 3 contract file(s)
  • Checked 3 fixture file(s)
  • Checked 1 journey map(s)
  • Checked 4 model file(s)
✅ Front-Matter

Info

  • Checked 16 spec file(s): 16 passed, 0 with issues
✅ Capability Scope

Info

  • Found 1 capability file(s): trade-show-signup
  • Scope coverage: 12/12 files covered
✅ Fixtures

Info

  • specs/fixtures/mobile-signup.fixture.yaml: valid
  • specs/fixtures/quick-start-audit-event.fixture.yaml: valid
  • specs/fixtures/quick-start-audit-rpc.fixture.yaml: valid
  • Loaded contract families: AsyncAPI, JSON-RPC, OpenAPI
  • Validated 3 fixture file(s)
✅ Models

Info

  • specs/models/account.lifecycle.yaml: valid
  • specs/models/account.model.yaml: valid
  • specs/models/shared-value-objects.model.yaml: valid
  • specs/models/trade-show-onboarding.aggregate.model.yaml: valid
  • specs/models/trade-show-signup.catalog.model.yaml: valid
  • Validated 5 model file(s)
✅ Journey Maps

Info

  • specs/journey-maps/trade-show-signup.journey-map.yaml: valid
  • Validated 1 journey map file(s)
✅ OpenAPI Lint
No results with a severity of 'error' found!

Total: 0 error(s), 0 warning(s)

Automated by IDD Toolkit

@slusset slusset merged commit e725636 into main Mar 21, 2026
1 check passed
@slusset slusset deleted the fix/fixture-openapi-ref-resolution branch March 21, 2026 19:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant